package com.hzhq.contract.service;

import com.hzhq.contract.bean.dto.DepartDTO;
import com.hzhq.contract.bean.dto.UserDTO;
import com.hzhq.contract.bean.entity.Depart;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.core.query.Query;

import java.util.List;

/**
 * @author: hzhq1255
 * @mail: hzhq1255@163.com
 * @date: 2021/4/14 20:58
 * @desc:
 */
public interface DepartService {


    List<String> getAdminListByDepartName(String departName);

    List<String> getAdminListByDepartId(String departId);

    Page<DepartDTO> searchAllPageByQuery(Query query, Integer currentPage, Integer pageSize);

    DepartDTO getOneByDepartId(String departId);

    DepartDTO getOneByDepartName(String departName);

    List<DepartDTO> getAllList();

    Page<DepartDTO> getAllPage(Integer currentPage, Integer pageSize);

    DepartDTO save(DepartDTO departDTO);

    List<DepartDTO> saveAll(List<DepartDTO> departDTOList);

    DepartDTO deleteByDepartName(String departName);

    DepartDTO deleteByDepartId(String departId);

    List<DepartDTO> deleteAllByIds(List<String> departIds);

    Page<DepartDTO> searchAllPages(DepartDTO departDTO, Integer currentPage, Integer pageSize);


}
